package test;


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


import dao.UsuarioDAO;
import model.Usuario;

import junit.framework.TestCase;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author Fátima Pestana
 * 
 */
public class testUsuarioDAO extends TestCase {

    private ClassPathXmlApplicationContext ctx;
    private UsuarioDAO serv;
    private Usuario usuario;
    private Usuario usuario1;
    private static final Log log = LogFactory.getLog(testUsuarioDAO.class);

    @Override
    protected void setUp() throws Exception {


    BeanFactory beanfactory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));

     serv = (UsuarioDAO) beanfactory.getBean("usuarioService");

        log.debug("Hemos obtenido el objeto que implementa usuarioDAO");
    }

    @Override
    protected void tearDown() throws Exception {
        usuario = null;
        usuario1 = null;
        serv = null;
    }

    public void testSaveUsuarioDAO() throws Exception {
        usuario.setIdUsuario(Long.parseLong("17"));
        usuario.setNombre("Fatima");
        usuario.setApellido("Pestana");
        usuario.setSexo("FEMENINO");
        usuario.setTelefono(Long.parseLong("4123904976"));
        usuario.setCorreo("fpestana.11@est.ucab.edu.ve");
        usuario.setUsername("fpestana");
        usuario.setClave("clave");
                
        serv.saveUsuario(usuario);

        assertTrue(usuario != null);

        usuario1 = serv.getUsuario(Long.parseLong("17"));
        log.debug("Recuperado usuario1 " + usuario1);

        assertTrue(usuario1 != null);
        log.debug("Comparamos : " + usuario1 + " con : " + usuario);

        assertTrue(usuario.getIdUsuario() == usuario1.getIdUsuario());
        
    }
    
    public void testConsultarUsuarioDAO() throws Exception {

        usuario = serv.getUsuario(Long.parseLong("1"));
        log.debug("Consultando usuario" + usuario);
        assertTrue(usuario != null);
        log.debug("Comparamos el ID del : " + usuario + " con 1");
        assertTrue(usuario.getIdUsuario()== Long.parseLong("1"));

    }
}
